#include "friendmodel.h"
#include "db.h"

// 添加好友关系
void FriendModel::insert(int userid, int friendid)
{
    // 1.组长sql语句
    char sql[1024]={0};
    sprintf(sql,"insert into friend values(%d,%d)",userid,friendid);

    MySQL mysql;
    if(mysql.connect())
    {
        mysql.update(sql);
    }
}

// 返回用户好友列表  返回好友的id,name,state
vector<User> FriendModel::query(int userid)
{
    // 1.组装sql语句
    char sql[1024]={0};
    sprintf(sql,"select user.id,user.name,user.state    \
                 from user                                  \
                 inner join friend on friend.friendid = user.id   \
                 where friend.userid = %d",userid);
    MySQL mysql;
    vector<User> vec;

    if(mysql.connect())
    {
        MYSQL_RES* res = mysql.query(sql);
        if(res!=nullptr)
        {
            // 把userid用户的所有好友信息放入vec中
            MYSQL_ROW row;
            while((row =mysql_fetch_row(res))!=nullptr)
            {
                User user;
                user.setId(atoi(row[0]));
                user.setName(row[1]);
                user.setState(row[2]);
                vec.push_back(user);
            }

            mysql_free_result(res);
            return vec;
        }
    }
    return vec;
}